<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<!--
/* ==========================================
 * JGraphT : a free Java graph-theory library
 * ==========================================
 *
 * Project Info:  http://jgrapht.sourceforge.net/
 * Project Lead:  Barak Naveh (http://sourceforge.net/users/barak_naveh)
 *
 * (C) Copyright 2003-2013, by Barak Naveh and Contributors.
 *
 * This program and the accompanying materials are dual-licensed under
 * either
 *
 * (a) the terms of the GNU Lesser General Public License version 2.1
 * as published by the Free Software Foundation, or (at your option) any
 * later version.
 *
 * or (per the licensee's choosing)
 *
 * (b) the terms of the Eclipse Public License v1.0 as published by
 * the Eclipse Foundation.
 */
/* ~~~~~~~~~~~~~
 * release-process.html
 * ~~~~~~~~~~~~~
 * (C) Copyright 2005-2006, by Barak Naveh and Contributors.
 *
 * Original Author:  Barak Naveh
 * Contributor(s):   John V. Sichi
 *
 * $Id$
 *
 * Changes
 * ~~~~~~~
 * 18-Jul-2005 : Initial revision added based on email from Barak (JVS);
 * 02-Jul-2006 : Updates for 0.7.0 (JVS);
 * 06-Dec-2013 : Updates for 0.9.0 (JVS);
 *
 */
-->

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <meta name="Author" content="Barak Naveh">
  <meta name="keywords" content=
  "JGraphT, graph, theory, graph-theory, free, java, LGPL, open-source">

  <title>JGraphT Release Process</title>
  <style type="text/css">
  <!--
  body {
  font-family:Verdana;
  text-align:left;
  color:#000011;
  background-color:#FAFBFF;
  }
  a {
  COLOR: #336699; 
  TEXT-DECORATION: underline;
  }
  a:visited {
  color: #663366; 
  TEXT-DECORATION: underline;
  }
  a:hover {
  color: #FF9900; 
  TEXT-DECORATION: underline;
  }
  code {
  font-family:Courier New;
  font-size:medium;
  }

  ol {
  list-style:decimal;
  }

  ul {
  list-style:disc;
  li {
  list-style:disc;
  margin-left:1em;
  margin-right:1em;
  line-height: 150%;
  }
  }

  p {
  margin-left:1em;
  margin-right:1em;
  line-height: 140%;
  }

  h1 {
  background-color:#7AA1E6;
  border-left:1px solid #245BCB; 
  border-right:1px solid #245BCB; 
  border-top:1px solid #245BCB; 
  border-bottom:1px solid #245BCB; 
  color:#FFFFFF;
  text-align:center;
  }

  h2 {
  border-left:0px solid Black; 
  border-right:0px solid Black; 
  border-top:0px solid Black; 
  border-bottom:2px solid #7AA1E6; 
  margin-top:50;
  color:#25507C;
  }

  h3 {
  border-left:0px solid Black; 
  border-right:0px solid Black; 
  border-top:0px solid Black; 
  border-bottom:2px solid #7AA1E6; 
  margin-top:30;
  color:#25507C;
  }

  table {
  border-collapse: collapse;
  }

  //-->
  </style>
</head>

<body>
  <h1><font size="7"><font color="#CC3399">J</font>Graph<font color=
  "#FFCC00">T</font></font> Release Process</h1><br>

<ol>

<li>Review the README.md, HISTORY.md, CONTRIBUTORS.md, and update:
<ul>
<li>Version
<li>Dependencies
<li>Release notes
<li>Contributors
<li>Copyright year
</ul>

<li>Review/update github issues to make sure they reflect the
current state.  If there were important bug/feature changes, it is worth
mentioning them in the README.md release notes.

<li>Run <code>mvn javadoc:aggregate</code> to build the javadoc and make sure 
it is generated without errors/warnings. Fix where necessary.
Make sure Eclipse build is warning-free.

<li>We used to run Checkstyle globally to make a "code quality review";
we may bring this back, and/or add PMD/FindBugs, and Emma for
code coverage.

<li>Run all the JUnit tests via <code>mvn test</code>. Fix where necessary.

<li>Reformat all code using Eclipse. 

<li>Commit all work and push to github.

<li>Run <code>mvn -Dmaven.artifact.threads=1 clean deploy</code> to push the latest snapshot to Sonatype.

<li>Run <code>mvn source:jar; mvn javadoc:jar; mvn release:prepare; mvn release:perform</code> to create the Maven artifacts and push them to Maven Central

<li>Publish the release using the Sonatype UI. For details see <a href="http://central.sonatype.org/pages/releasing-the-deployment.html">here</a>

<li>Run <code>mvn javadoc:aggregate; mvn install</code> from the new
release branch to produce the release archive distribution

<li>Upload the release archive distribution to SF and add it using the
File Release System.

<li>Update the website with the latest javadocs.

<li>Update the website with links to the new downloads, version numbers,
etc.

<li>Announce the new version in the mailing lists: jgrapht-users@lists.sourceforge.net, jgrapht-announce@lists.sourceforge.net

<li>Update and commit the version number in HISTORY.md
to reflect the beginning of development for the next version.  Also
update the version in jgrapht-touchgraph/pom.xml since for whatever
reason, this one is not done automatically by maven.  Finally, remove 
all existing deprecated methods.
  
</ol>
  
<h1> Notes:</h1><br>
<ol>

<li> The release artifacts are signed with private keys. In order to sign
  this release, you'll need to make sure you've already created and published your own key.
  For details, see <a href="http://blog.sonatype.com/2010/01/how-to-generate-pgp-signatures-with-maven/"> here</a>
<li> To rebuild the full release package after it has been pushed to github, you can run git checkout jgrapht-1.0.0 
  (the tag you published for the release), and then run mvn package.
  
</ol>

  <hr noshade size="2" style=
  "background-color:#7AA1E6;color:#7AA1E6;border-width: thin none none;">

  <table border="0" cellpadding="0" cellspacing="0" style=
  "border-collapse: collapse" width="100%">
    <tr>
      <td width="10%" align="left"><a href=
      "http://validator.w3.org/check/referer"><img src=
      "http://www.w3.org/Icons/valid-html401" border="0" alt="Valid HTML 4.01!"
      height="31" width="88"></a></td>

      <td width="80%" align="center"><small>© Copyright 2005-2013, by Barak Naveh
      and Contributors. All rights reserved.</small></td>

      <td width="10%" align="right"><a href="http://sourceforge.net"><img src=
      "http://sourceforge.net/sflogo.php?group_id=86459&amp;type=1" width="88"
      height="31" border="0" alt="SourceForge.net Logo"></a></td>
    </tr>
  </table><br>
</body>
</html>
